package main.com.cyz.Queue.Bean;

/**
 * @author fox
 * @version 1.0
 * @description 队列接口
 * @date 2024/5/19 9:02
 */
public interface MyQueue<E> {

    
    /**
     * Description: 添加新元素到队尾
     * @param value 待添加新元素
     * @return 添加成功为true 否则为false
     */
    Boolean offer(E value);

    /**
     * Description: 返回队首元素，移除
     * @return 队首元素
     */
    E poll();

    /**
     * Description: 返回队列头的元素，不移除
     * @return 队首元素
    */
    E peek();

    /**
     * Description: 检查队列是否为空
     * @return 队列为空为true，否则为false
    */
    Boolean isEmpty();

    /**
     * Description: 检查队列是否已满
     * @return 已满返回true，否则返回false
     */
    Boolean isFull();

}
